package com.cowain.monitor.task;

import com.cowain.monitor.service.impl.SynthesizeMethod;
import lombok.extern.log4j.Log4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

/**
 *  
 *  * @author 冬暖
 *  * @projectName pms-monitor
 *  * @title     ScheduleTask   
 *  * @package    com.cowain.monitor  
 *  * @description    定时任务       
 *  * @date   2020/7/27 13:49  
 *  * @version V1.0.0
 *  
 */
@Component
@Log4j

@Lazy(false)
public class ScheduleTask {
    @Autowired
    private SynthesizeMethod synthesizeMethod;

    /**
     * 每天晚上十二点执行
     */
//    @Scheduled(cron = "0/15 * * * * ?")
//    @Scheduled(cron = "0 0/30 * * * ?")
//    @Scheduled(cron = "0 0/30 */1 * * ?") //每隔一个半小时执行一次
    public void scheduleTask() {
        System.out.println(">>>>>>>>>>>>>>开始执行<<<<<<<<<<<<<<");
//        System.out.println(">>>>>>>>>>>>>>标准销售订单同步数据开始执行<<<<<<<<<<<<<<");
//       //标准销售订单
//        synthesizeMethod. orderInfo();
//        System.out.println(">>>>>>>>>>>>>>标准销售订单同步数据执行完毕<<<<<<<<<<<<<<");
//        System.out.println(">>>>>>>>>>>>>>预测订单同步数据开始执行<<<<<<<<<<<<<<");
//        //预测订单
//        synthesizeMethod.erpSofApplication();
//        System.out.println(">>>>>>>>>>>>>>预测订单同步数据执行完毕<<<<<<<<<<<<<<");
//        System.out.println(">>>>>>>>>>>>>>物料申请单同步数据开始执行<<<<<<<<<<<<<<");
//       //物料申请单
//        synthesizeMethod.erpNoDerOrder();
//        System.out.println(">>>>>>>>>>>>>>物料申请单同步数据执行完毕<<<<<<<<<<<<<<");
//        System.out.println(">>>>>>>>>>>>>>客户同步数据开始执行<<<<<<<<<<<<<<");
//        //客户
//        synthesizeMethod.erpClient();
//        System.out.println(">>>>>>>>>>>>>>客户同步数据执行完毕<<<<<<<<<<<<<<");
//        System.out.println(">>>>>>>>>>>>>>供应商同步数据开始执行<<<<<<<<<<<<<<");
//        //供应商
//        synthesizeMethod.erpSupplier();
//        System.out.println(">>>>>>>>>>>>>>供应商同步数据执行完毕<<<<<<<<<<<<<<");
        //成品入库
        synthesizeMethod.syncErpCheckDemand();
//        //生产订单
        synthesizeMethod.syncErpOrder();
//        //出货信息及出货状态
        synthesizeMethod.syncErpShipData();

        System.out.println(">>>>>>>>>>>>>>结束执行<<<<<<<<<<<<<<");
    }

//    @Scheduled(cron = "0 0 */1 * * ?")
    @Scheduled(cron = "0 */1 * * * ?")
    public void scheduleTask01() {
        System.out.println(">>>>>>>>>>>>>>开始执行<<<<<<<<<<<<<<");
        System.out.println(">>>>>>>>>>>>>>用户同步数据开始执行<<<<<<<<<<<<<<");
        synthesizeMethod.ehrUser();
        System.out.println(">>>>>>>>>>>>>>用户同步数据执行完毕<<<<<<<<<<<<<<");
        System.out.println(">>>>>>>>>>>>>>组织同步数据开始执行<<<<<<<<<<<<<<");
        synthesizeMethod.ehrDept();
        System.out.println(">>>>>>>>>>>>>>组织同步数据执行完毕<<<<<<<<<<<<<<");
        System.out.println(">>>>>>>>>>>>>>执行完毕<<<<<<<<<<<<<<");
    }

//    @Scheduled(cron = "0 0/15 * * * ?")
    public void scheduleTask02() {
        System.out.println(">>>>>>>>>>>>>>开始执行<<<<<<<<<<<<<<");
        System.out.println(">>>>>>>>>>>>>>同步料号开始执行<<<<<<<<<<<<<<");
        synthesizeMethod.synchroErpItemInfo();
        System.out.println(">>>>>>>>>>>>>>同步料号数据执行完毕<<<<<<<<<<<<<<");
//        System.out.println(">>>>>>>>>>>>>>组织同步数据开始执行<<<<<<<<<<<<<<");
//        synthesizeMethod.ehrDept();
//        System.out.println(">>>>>>>>>>>>>>组织同步数据执行完毕<<<<<<<<<<<<<<");
//        System.out.println(">>>>>>>>>>>>>>执行完毕<<<<<<<<<<<<<<");
    }
}
